package com.iplant.aps.service;

import com.iplant.aps.service.po.APIResult;
import com.iplant.aps.service.po.aps.APSMaterialReturn;
import com.iplant.aps.service.po.bms.BMSEmployee;
import com.iplant.aps.service.po.ipt.IPTOutsourcingMaterial;
import com.iplant.aps.service.po.ipt.IPTPreCheckProblem;
import com.iplant.aps.service.po.wms.WMSTechMaterialReturn;
import com.iplant.aps.utils.Configuration;

import java.util.List;

public interface QMSService {
    String ServerUrl = Configuration.readConfigString("qms.server.url", "config/config");

    String ServerName = Configuration.readConfigString("qms.server.project.name", "config/config");

    APIResult RSM_QueryTurnOrderTaskList(BMSEmployee wLoginUser, int wOrderID, int wApplyStationID,
                                         int wTargetStationID, List<Integer> wStateIDList);

    APIResult IPT_QueryPreCheckProblemByID(BMSEmployee wLoginUser, int wProblemID);

    APIResult IPT_UpdatePreCheckProblem(BMSEmployee wLoginUser, IPTPreCheckProblem wIPTPreCheckProblem);

    APIResult IPT_QueryPreCheckReportList(BMSEmployee wLoginUser, int wOrderID);

    APIResult SFC_QueryTaskIPTList(BMSEmployee wLoginUser, int wOrderID);

    APIResult IPT_QueryValueList(BMSEmployee wLoginUser, int wSFCTaskIPTID);

    APIResult IPT_QueryStandardCurrent(BMSEmployee wLoginUser, int wITPMode, int wLineID, int wPartID, int wPartPointID,
                                       String wProductNo, int wCustomID);

    APIResult IPT_QueryItemList(BMSEmployee wLoginUser, int wStandardID);

    APIResult RSM_QueryBOPDoneList(BMSEmployee wLoginUser, int wOrderID);

    /**
     * 查询转向架互换的订单ID
     */
    APIResult SFC_QueryChangeOrderID(BMSEmployee wLoginUser, int wOrderID);

    APIResult APS_UpdateMaterialReturn(BMSEmployee wLoginUser, APSMaterialReturn wAPSMaterialReturn);

    APIResult IPT_OutsourcingMaterialInfo(BMSEmployee wLoginUser, int wID);

    APIResult IPT_OutsourcingMaterialUpdateData(BMSEmployee wLoginUser, IPTOutsourcingMaterial wIPTOutsourcingMaterial);

    APIResult SFC_QueryTaskIPTListByTaskStepIDList(BMSEmployee wLoginUser, List<Integer> wTaskStepIDList);

    APIResult WMS_WMS_UpdateWMSTechMaterialReturn(BMSEmployee wLoginUser, WMSTechMaterialReturn wWMSTechMaterialReturn);

    APIResult IPT_QueryMultiMaterialID(BMSEmployee wLoginUser, int routeID,int wLineID,int wProductID);

    APIResult SFC_CreateOutMaterialTrackLedgerList(BMSEmployee wLoginUser, IPTOutsourcingMaterial wIPTOutsourcingMaterial);

    APIResult TCM_QueryTechChangeNotice(BMSEmployee wLoginUser, int wTechChangeNoticeID);

    APIResult TCM_QueryMaterialChangeLog(BMSEmployee wLoginUser, int changeLogID);
}
